class BootStrap {

     def init = { servletContext ->

	Role student = new Role(name:"Student").save()
        Role supervisor = new Role(name:"Supervisor").save()
        Role organiser = new Role(name:"Organiser").save()
	 

	Person p1 = new Person(userName:"st1", 
				regNo:"3359174", 
				firstname:"Jianping", 
				lastname:"Tian", 
				email:"Jianping.Tian@uea.ac.uk", 
                                role: student,
				password:"1").save() 

	Person p2 = new Person(userName:"st2", 
				regNo:"4783567", 
				firstname:"Lei", 
				lastname:"Li", 
				email:"Lei.Li@uea.ac.uk", 
                                role: student,
				password:"2").save() 
 
        Person p3 = new Person(userName:"st3", 
				regNo:"5789567", 
				firstname:"James", 
				lastname:"Shin", 
				email:"James.Shin@uea.ac.uk", 
                                role: student,
				password:"3").save() 

	Person p4 = new Person(userName:"st4", 
				regNo:"2376087", 
				firstname:"David", 
				lastname:"Hatter", 
				email:"David.Hatter@uea.ac.uk", 
                                role: student,
				password:"4").save() 

	Person p5 = new Person(userName:"st5", 
				regNo:"2376087", 
				firstname:"Sarah", 
				lastname:"Dougas", 
				email:"Sarah.Dougas@uea.ac.uk", 
                                role: student,
				password:"5").save() 

	Person p6 = new Person(userName:"st6", 
				regNo:"2376087", 
				firstname:"Penelope", 
				lastname:"Grose", 
				email:"Penelope.Grose@uea.ac.uk", 
                                role: student,
				password:"6").save() 
         
	Person p100 = new Person(userName:"sp1", 
				regNo:"7654321", 
				firstname:"Richard", 
				lastname:"Kennaway", 
				email:"R.Kennaway@uea.ac.uk", 
                                role: supervisor,
				password:"1").save()

	Person p101 = new Person(userName:"sp2", 
				regNo:"7654322", 
				firstname:"Pam", 
				lastname:"Mayhew", 
				email:"P.Mayhew@uea.ac.uk", 
                                role: supervisor,
				password:"2").save()

	Person p102 = new Person(userName:"sp3", 
				regNo:"7654323", 
				firstname:"George", 
				lastname:"Smith", 
				email:"G.Smith@uea.ac.uk", 
                                role: supervisor,
				password:"3").save()

	Person p103 = new Person(userName:"sp4", 
				regNo:"7654324", 
				firstname:"Mark", 
				lastname:"Fisher", 
				email:"M.Fisher@uea.ac.uk", 
                                role: supervisor,
				password:"4").save()

	Person p104 = new Person(userName:"sp5", 
				regNo:"7654325", 
				firstname:"Ben", 
				lastname:"Milner", 
				email:"B.Milner@uea.ac.uk", 
                                role: supervisor,
				password:"5").save()

	Person p105 = new Person(userName:"sp6", 
				regNo:"7654326", 
				firstname:"John", 
				lastname:"Glauert", 
				email:"J.Glauert@uea.ac.uk", 
                                role: supervisor,
				password:"6").save()

	Person p106 = new Person(userName:"sp7", 
				regNo:"7654327", 
				firstname:"Dan", 
				lastname:"Smith", 
				email:"D.Smith@uea.ac.uk", 
                                role: supervisor,
				password:"7").save()

	Person p107 = new Person(userName:"sp8", 
				regNo:"7654328", 
				firstname:"Vincent", 
				lastname:"Moulton", 
				email:"V.Moulton@uea.ac.uk", 
                                role: supervisor,
				password:"8").save()


	Person p200 = new Person(userName:"o789", 
				regNo:"1234567", 
				firstname:"Wenjia", 
				lastname:"Wang", 
				email:"wjw@cmp.uea.ac.uk", 
                                role: organiser,
				password:"789").save() 

        
        
	ProjectGroup group1 = new ProjectGroup(code:"GIV", name:"Graphics, Images and Vision").save()
	ProjectGroup group2 = new ProjectGroup(code:"SLP", name:"Speech and Language Processing").save()
	ProjectGroup group3 = new ProjectGroup(code:"HCI", name:"Human Computer Interraction/Interface").save()
	ProjectGroup group4 = new ProjectGroup(code:"KDD", name:"Knowledge Discovery, Data Mining").save()
	ProjectGroup group5 = new ProjectGroup(code:"MAG", name:"Mathematical Algorithms and Modelling").save()
	ProjectGroup group6 = new ProjectGroup(code:"DIS", name:"Development of Information Systems").save()
	ProjectGroup group7 = new ProjectGroup(code:"MIS", name:"Miscellaneous").save()
	ProjectGroup group8 = new ProjectGroup(code:"BIO", name:"Bioinformatics").save() 

 

        Project project1 =  new Project(group:group6, projectCode:"DIS01", supervisor:p200, projectName:"Developing an Information System for MSc Dissertation Projects Management", description:"The objective of this project to design and develop a Web-Based System for managing MSc Projects and Dissertations. The system should contain a database of projects and have functions.", student:p1).save()
         
        Project project2 = new Project(group:group6, projectCode:"DIS02", supervisor:p101, projectName:"Usability Testing Under the Spotlight", description:"During usability testing a number of participants who are representative of the eventual target population are used to evaluate the extent to which a product conforms to specific usability criteria. Investigations into improving usability test conditions, for example, the number and complexity of tasks, the number of participants, the evaluator role, and the test environment, are all highly relevant. By carrying out a series of usability tests, the student can explore one or more such factors with the aim of making recommendations for the improvement of usability testing methods in general.", student:p2).save()
         
        Project project3 = new Project(group:group6, projectCode:"DIS03", supervisor:p102, projectName:"Design and Development of UEA Knowledge Transfer Database", description:"Knowledge Transfer refers to the commercial activities that universities engage in, such as consultancy, licensing and spin-outs, as well as community and public engagement activities. The UEA KT Office requires a system to record and report on all its KT activities. The system will be supported by a SQL server and will incorporate input forms for client and project details, news items, etc and also fulfil the requirements for regular and adhoc reporting.", student:p3).save()
         
  	Project project4 = new Project(group:group6, projectCode:"DIS04", supervisor:p102, projectName:"The Design and Development of a Aata Visualisation System in .NET", description:"Although there are numerous data mining software applications available, there are relatively few data visualisation systems specialising in the presentation of recently emerging visualisation techniques. The student will review the recent literature on data visualisation and design and implement a data visualisation application for Windows platform.").save()
         
        Project project5 = new Project(group:group6, projectCode:"DIS05", supervisor:p101, projectName:"The Norwich Society Forum", description:"The technical solution is not resolved but perhaps more important are the sensitive issues surrounding content management. Should the forum be for members only or the general public? How does the society avoid offensive, even libelous content? Does the Forum need constant supervision? Hence the project is about understanding the philosophy of the Norwich Society and developing a new function that meets the demands of a 21st century need while preserving the values of an earlier age.").save()
         
        Project project6 = new Project(group:group4, projectCode:"KDD06", supervisor:p200, projectName:"World Wide Web Usage Pattern Mining", description:"World Wide Web has become the most convenient medium to find and disseminate information nowadays. Huge amount of information literally on every subject area is available on-line. Web mining is about to apply data mining techniques onto all sorts of data provided on world wide webs, and users data recorded by the web servers in their log files. Web usage mining is about discovering the usage patterns about users based on web servers log files. This project aims to investigate techniques used in web usage mining and to develop/implement a prototype of such a system/program for analysing web log data and extracting usage patterns.").save()

        Project project7 = new Project(group:group3, projectCode:"HCI12", supervisor:p100, projectName:"Geometric constraint solving for posing animated figures", description:"One method of describing the pose of a three-dimensional avatar is by specifying a set of geometric relationships between the body parts: for example, specifying the position and orientation of the hands relative to each other, the position of a hand relative to the head, the relative placement of the feet, etc. The purpose of this project is to develop a repertoire of such constraints that can be used for specifying any pose of an avatar, and methods of solving these constraints to calculate the rotation in each joint of the avatar required to produce the pose. The project should be demonstrated by a program which will input a set of constraints and a description of the geometry of an avatar, and display the avatar in the specified pose. The project requires some mathematical ability and a knowledge of 3-dimensional geometry and graphics. ").save()

	Project project8 = new Project(group:group1, projectCode:"GIV09", supervisor:p103, projectName:"Video Shot Detection", description:"Automatic video analysis and annotation is a classical problem in computer vision. The first stage in most video analysis systems is to decompose the video into shots by detecting boundaries between scenes. These may be determined by for example detecting a change of lighting between adjacent video frames. This project will continue previous work on video shot detection carried at UEA.").save()

	Project project9 = new Project(group:group1, projectCode:"GIV10", supervisor:p103, projectName:"Gesture recognition using Optical Flow", description:"Human gesture recognition has attracted a lot of attention over the past decade. Some researchers have performed experiments that suggest that human observers can recognise gestures using only optic flow. This project will attempt to reproduce their results and investigate if the method can be used to enable a computer vision system to automatically recognise a small set of gestures.").save()

	Project project10 = new Project(group:group2, projectCode:"SLP10", supervisor:p104, projectName:"Speech quality analysis", description:"The quality of a speech signal, for example from a mobile telephone, can change over time. Most methods of speech quality measurement ask listeners to rate the speech quality once, at the end of the speech. The aim of this project is to produce a GUI which will allow listeners to rate the quality of the speech signal continuously throughout the call. This can be done using a slider which is moved according to the speech quality. Analysis can then be made of how listeners rate the speech quality, how fast they react to changes in speech quality and how similar the quality measurements are between listeners.").save()

	Project project11 = new Project(group:group2, projectCode:"SLP11", supervisor:p104, projectName:"Audio-visual speech enhancement demonstrator", description:"One area of research in CMP is to remove noisy from noisy speech signals by using visual speech information taken from the talker's mouth. The aim of this project will be to take this research and built a real-time demonstrator that can be used to demonstrate the system. This will require the incorporation of a camera and microphone to capture visual and audio speech and then their application to noise reduction before playing out the enhanced speech signal.").save()


	Project project12 = new Project(group:group3, projectCode:"HCI05", supervisor:p105, projectName:"Adding Lip Sync to Virtual Human Animation", description:"SiGML (Signing Gesture Markup Language) is a notation for describing sign language gestures. An important element specifies the lip movements that accompany signing and are often the visual component of speech. SiGML uses ad hoc methods to provide lip sync. The animation system for SiGML is also used with speech in applications of virtual human avatars. The project will explore existing off-the-shelf systems for generating lip synchronised speech. Ideally, a rigorous evaluation of potential systems will be undertaken, and a system chosen that provides a good compromise between fidelity of appearance and cost of implementation.").save()

	Project project13 = new Project(group:group3, projectCode:"SLP07", supervisor:p105, projectName:"Sign Writing", description:"The signing avatar work at UEA is based on the use of a gesture notation based on HamNoSys, the Hamburg Notation System. This is widely used in the sign language research community but is not easy for inexperienced users, whether hearing or deaf. It is not suitable as a written form of sign language. Valerie Sutton's SignWriting system is more straightforward to use but it remains to be seen whether it is a notation from which accurate animations can be derived. The project would explore the connections between HamNoSys and SignWriting with the aim of translating a range of SignWriting input to HamNoSys for animation.").save()

	Project project14 = new Project(group:group4, projectCode:"KDD08", supervisor:p200, projectName:"Ensemble of Bayesian Models for Identifying Spam Emails", description:"Spam Emails have become a serious problem in email communication and the cost of dealing with them is very high. This project requires student to research on this problem, learn existing algorithms for identifying and eliminating spam emails, and compare and contrast between them. The project work should lead to developing/improving highly effective algorithms for automatically identifying the features and traffic patterns of spam emails. A prototype of a working system (algorithm) should be delivered.").save()

	Project project15 = new Project(group:group5, projectCode:"MAG17", supervisor:p104, projectName:"Simulation of card counting methods for Blackjack", description:"This project will begin with an investigation of card counting methods that have been used in the game of Blackjack. A simulation of the game of Blackjack will then be produced and the different card counting methods will be evaluated. Varying degrees of sophistication will be examined in the card counting methods, and an analysis made into the likely returns, given the level of difficulty.").save()

	Project project16 = new Project(group:group5, projectCode:"MAG18", supervisor:p106, projectName:"Hospital Ward Staff Allocation", description:"Unit prerequisites: CMPSMB13 Internet Technologies, CMPSMC24 Data Mining A hospital has a large collection of data on patients, their medical conditions and staffing requirements. The goal of this project is to analyse this data to produce a ward staffing model which can be used to predict the optimum staff requirements for a ward given the likely patient mix. An approach using manually generated rules may also be feasible. It is important that the system is web-based and can be used in a mobile environment.").save()

	Project project17 = new Project(group:group7, projectCode:"MIS07", supervisor:p200, projectName:"Data Mining Network Traffic", description:"The flow of Network traffic holds a significant amount of information. This project will look at the application of data mining techniques to identify a variety of unwanted behavior, attack,malware etc. on the network from the characteristics of the flows.").save()

	Project project18 = new Project(group:group8, projectCode:"BIO05", supervisor:p107, projectName:"Exploring the space of phylogenetic networks", description:"Short description: Phylogenetic networks are a computational tool that are used by biologists to understand how organisms such as plants and viruses evolved. In this project the student will investigate whether the accuracy of the QNet tool for constructing phylogenetic networks may be improved by incorporating search strategies that look through the space of phylogenetic networks.").save()

	Project project19 = new Project(group:group8, projectCode:"BIO06", supervisor:p107, projectName:"Detecting microRNAs in deep-sequencing data sets", description:"Recently it has been found that various plant and animal genomes contain thousands of tiny RNA genes that encode small RNA molecules called microRNAs. These molecules have been found to play an important role in the regulation of protein production, and promise to unlock some important and useful secrets concerning how the cell works. For example, in exciting recent developments, biotech companies have started to develop techniques for targeting microRNAs that could ultimately lead to new drugs for the treatment of cancer and metabolic disorders. In this project the student will be involved in searching for new microRNAs in large data sets generated by Dr. Tamas Dalmay's group in BIO.").save()


}
     def destroy = {
     }
} 
